One recent trend in the field of computing technologies includes the widespread production and use of “small” computing devices such as mobile consumer devices. These smaller devices, such as smartphones and tablets, are often small enough to fit into a pocket or purse and tend to have smaller displays and user input means when compared to more “traditional” desktop computing systems (e.g., personal computers or “PCs”). With these smaller displays, the screen “real estate” has been a primary focus of operating system and application designers. Screen real estate generally refers to an amount of space available on a display for applications to provide output. Typically, the effective use of screen real estate is one of the most difficult design challenges for application designers due to a desire to have a maximal amount of data and user interface elements (e.g., controls such as navigation icons, scrollbars, etc.) visible at one time to avoid a need for users to scroll (or otherwise navigate away) from a main focus of the application. However, the desire to present as much information at one time has led to drawbacks in that large amounts of information being presented at one time can be overwhelming and thus confusing to the user.
Further, complex user interfaces are also often very resource intensive from the perspective of the application and computing device resources. In particular, using complex menu systems and graphics in user interfaces is often computationally expensive and can require significant memory (e.g., RAM) usage and processor utilization for rendering and providing interactivity. For example, some web applications (i.e., applications presented using web technologies such as HTML, CSS, JavaScript, etc.) present complex user interfaces and require the insertion and management of huge amounts of DOM (Document Object Model) objects. The DOM is a programming interface that provides a structured representation of a document (i.e., a tree) that defines a way that the structure can be accessed from programs so that they can change the document structure, style, and/or content. However, when the DOM tree includes a huge number of objects (or “nodes” in the tree), further manipulation of the DOM tree becomes computationally expensive as many nodes must be frequently traversed and/or updated to perform even simple tasks.
Accordingly, effective, intuitive, and computationally inexpensive user interface configurations and techniques for presenting data—both simple and complex—are always strongly desired.